#ifdef ARRAY_H
#define ARRAY_H
#include<iostream>
using namespace std;

enum ErrorType
{invalidArraySize, memoryAllocationError,indexOutOfRange};

char * errorMsg=
{
		"invalid array size",
		"memory allocat error",
		"invalid index"
};

template <class T>

class Array
{
	
	private:
			int size;
			T *list;
			void errorFun(ErrorType et) const;

	public:
			Array(int sz=50);
			Array(const Array <T> & a);
			~Array();
			Array<T> & operator = (const Array<T> & rhs);
			T& operator [] (int index);
			operator T* (void) const;
			int getSize();
			int resize(int sz);
			void display();




};

#endif
